import globals from 'globals'
import pluginJs from '@eslint/js'
import tseslint from 'typescript-eslint'
import pluginVue from 'eslint-plugin-vue'
import prettier from 'eslint-plugin-prettier'
import eslintrcAutoImport from './.eslintrc-auto-import.json' assert { type: 'json' }
export default [
    pluginJs.configs.recommended,
    ...tseslint.configs.recommended,
    ...pluginVue.configs['flat/essential'],
    {
        languageOptions: {
            globals: {
                ...globals.browser,
                // OptionType: 'readonly',
            },
            ...eslintrcAutoImport,
            // parser: "@typescript-eslint/parser",
            // parserOptions: {
            // ecmaVersion: "latest",
            // sourceType: "module",
            // parser: "@typescript-eslint/parser",
            // project: "./tsconfig.*?.json",
            // createDefaultProgram: false,
            // extraFileExtensions: [".vue"],
            // ecmaVersion: 2020,
            // sourceType: "module",
            // babelOptions: {
            //     plugins: [
            //         // Add Babel plugins if needed
            //     ]
            // }
            // }
            // parserOptions: {
            //     parser: '@babel/eslint-parser', // 使用 Babel 作为解析器，这样可以解析 JSX 和较新的 JavaScript 语法
            //     ecmaVersion: 2021, // 设置 ECMAScript 的版本
            //     sourceType: 'module', // 设置为模块，以支持 ES6 的 import/export 语法
            // },
            parserOptions: {
                ecmaVersion: 2020,
                sourceType: 'module',
                parser: '@typescript-eslint/parser',
            },
        },
        plugins: {
            vue: pluginVue,
            prettier,
        },
        // extends: ["./.eslintrc-auto-import.json"]
        // files:["./.eslintrc-auto-import.json"]
        ignores: [
            'dist',
            'node_modules',
            'public',
            '.husky',
            '.vscode',
            '.idea',
            '*.sh',
            '*.md',
            'src/assets',
            '.eslintrc.cjs',
            '.prettierrc.cjs',
            '.stylelintrc.cjs',
            'package.json',
            'src/styles/*.scss',
        ],
        // extends: [
        //     'plugin:vue/essential', // 包含基础规则集，例如推荐的 eslint-plugin-vue 规则
        //     'eslint:recommended', // 包含 ESLint 的推荐规则
        //     '@vue/prettier', // 如果使用 Prettier，需要这个插件来避免 ESLint 和 Prettier 的规则冲突
        //     '@vue/typescript/recommended', // 如果使用 TypeScript，则需要这个插件
        //   ],
        //   parserOptions: {
        //     parser: '@babel/eslint-parser', // 使用 Babel 作为解析器，这样可以解析 JSX 和较新的 JavaScript 语法
        //     ecmaVersion: 2021, // 设置 ECMAScript 的版本
        //     sourceType: 'module', // 设置为模块，以支持 ES6 的 import/export 语法
        //   },
        rules: {
            '@typescript-eslint/no-explicit-any': 'off',
            'vue/multi-word-component-names': 'off',
        },
    },
]
